// inline file geokeys.inl
//   #include <geokeys.inl>
// to include.
// expect #include <map>

typedef std::map<U16, std::string> MapIntStr;

MapIntStr mapGeoKey = {
    {1024, "GTModelTypeGeoKey"},
    {1025, "GTRasterTypeGeoKey"},
    {1026, "GTCitationGeoKey"},
    {2048, "GeographicTypeGeoKey"},
    {2049, "GeogCitationGeoKey"},
    {2050, "GeogGeodeticDatumGeoKey"},
    {2051, "GeogPrimeMeridianGeoKey"},
    {2052, "GeogLinearUnitsGeoKey"},
    {2053, "GeogLinearUnitSizeGeoKey"},
    {2054, "GeogAngularUnitsGeoKey"},
    {2055, "GeogAngularUnitSizeGeoKey"},
    {2056, "GeogEllipsoidGeoKey"},
    {2057, "GeogSemiMajorAxisGeoKey"},
    {2058, "GeogSemiMinorAxisGeoKey"},
    {2059, "GeogInvFlatteningGeoKey"},
    {2060, "GeogAzimuthUnitsGeoKey"},
    {2061, "GeogPrimeMeridianLongGeoKey"},
    {2062, "GeogTOWGS84GeoKey"},
    {3072, "ProjectedCSTypeGeoKey"},
    {3073, "PCSCitationGeoKey"},
    {3074, "ProjectionGeoKey"},
    {3075, "ProjCoordTransGeoKey"},
    {3076, "ProjLinearUnitsGeoKey"},
    {3077, "ProjLinearUnitSizeGeoKey"},
    {3078, "ProjStdParallel1GeoKey"},
    {3079, "ProjStdParallel2GeoKey"},
    {3080, "ProjNatOriginLongGeoKey"},
    {3081, "ProjNatOriginLatGeoKey"},
    {3082, "ProjFalseEastingGeoKey"},
    {3083, "ProjFalseNorthingGeoKey"},
    {3084, "ProjFalseOriginLongGeoKey"},
    {3085, "ProjFalseOriginLatGeoKey"},
    {3086, "ProjFalseOriginEastingGeoKey"},
    {3087, "ProjFalseOriginNorthingGeoKey"},
    {3088, "ProjCenterLongGeoKey"},
    {3089, "ProjCenterLatGeoKey"},
    {3090, "ProjCenterEastingGeoKey"},
    {3091, "ProjCenterNorthingGeoKey"},
    {3092, "ProjScaleAtNatOriginGeoKey"},
    {3093, "ProjScaleAtCenterGeoKey"},
    {3094, "ProjAzimuthAngleGeoKey"},
    {3095, "ProjStraightVertPoleLongGeoKey"},
    {4096, "VerticalCSTypeGeoKey"},
    {4097, "VerticalCitationGeoKey"},
    {4098, "VerticalDatumGeoKey"},
    {4099, "VerticalUnitsGeoKey"}};

const std::vector<U16> geoKeyShort = {1024, 1025, 2048, 2050, 2051, 2052, 2054, 2056, 2060, 3072, 3074, 3075, 3076, 4096, 4098, 4099};
const std::vector<U16> geoKeyDouble = {2053, 2055, 2057, 2058, 2059, 2061, 3077, 3078, 3079, 3080, 3081, 3082, 3083,
                                       3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 5120};
const std::vector<U16> geoKeyAscii = {1026, 2049, 3073, 4097};

MapIntStr mapGTModelTypeGeoKey = {{0, "ModelTypeUndefined"}, {1, "ModelTypeProjected"}, {2, "ModelTypeGeographic"}, {3, "ModelTypeGeocentric"}};

MapIntStr mapGTRasterTypeGeoKey = {{1, "RasterPixelIsArea"}, {2, "RasterPixelIsPoint"}};

MapIntStr mapGeographicTypeGeoKey = {
    {4001, "GCSE_Airy1830"},
    {4002, "GCSE_AiryModified1849"},
    {4003, "GCSE_AustralianNationalSpheroid"},
    {4004, "GCSE_Bessel1841"},
    {4005, "GCSE_Bessel1841Modified"},
    {4006, "GCSE_BesselNamibia"},
    {4008, "GCSE_Clarke1866"},
    {4009, "GCSE_Clarke1866Michigan"},
    {4010, "GCSE_Clarke1880_Benoit"},
    {4011, "GCSE_Clarke1880_IGN"},
    {4012, "GCSE_Clarke1880_RGS"},
    {4013, "GCSE_Clarke1880_Arc"},
    {4014, "GCSE_Clarke1880_SGA1922"},
    {4015, "GCSE_Everest1830_1937Adjustment"},
    {4016, "GCSE_Everest1830_1967Definition"},
    {4017, "GCSE_Everest1830_1975Definition"},
    {4018, "GCSE_Everest1830Modified"},
    {4019, "GCSE_GRS1980"},
    {4020, "GCSE_Helmert1906"},
    {4022, "GCSE_International1924"},
    {4023, "GCSE_International1967"},
    {4024, "GCSE_Krassowsky1940"},
    {4030, "GCSE_WGS84"},
    {4034, "GCSE_Clarke1880"},
    {4140, "GCSE_NAD83_CSRS"},
    {4167, "GCSE_New_Zealand_Geodetic_Datum_2000"},
    {4267, "GCS_NAD27"},
    {4269, "GCS_NAD83"},
    {4283, "GCS_GDA94"},
    {4312, "GCS_MGI"},
    {4322, "GCS_WGS_72"},
    {4326, "GCS_WGS_84"},
    {4289, "GCS_Amersfoort"},
    {4617, "GCS_NAD83_CSRS"},
    {4619, "GCS_SWEREF99"},
    {6318, "GCS_NAD83_2011"},
    {6322, "GCS_NAD83_PA11"},
    {7844, "GCS_GDA2020"},
    {32767, "user-defined"}};

MapIntStr mapGeogGeodeticDatumGeoKey = {
    {6202, "Datum_Australian_Geodetic_Datum_1966"},
    {6203, "Datum_Australian_Geodetic_Datum_1984"},
    {6267, "Datum_North_American_Datum_1927"},
    {6269, "Datum_North_American_Datum_1983"},
    {6283, "Datum_Geocentric_Datum_of_Australia_1994"},
    {6322, "Datum_WGS72"},
    {6326, "Datum_WGS84"},
    {6140, "Datum_WGS84"},
    {6619, "Datum_SWEREF99"},
    {6289, "Datum_Amersfoort"},
    {6167, "Datum_NZGD2000"},
    {6001, "DatumE_Airy1830"},
    {6002, "DatumE_AiryModified1849"},
    {6003, "DatumE_AustralianNationalSpheroid"},
    {6004, "DatumE_Bessel1841"},
    {6005, "DatumE_BesselModified"},
    {6006, "DatumE_BesselNamibia"},
    {6008, "DatumE_Clarke1866"},
    {6009, "DatumE_Clarke1866Michigan"},
    {6010, "DatumE_Clarke1880_Benoit"},
    {6011, "DatumE_Clarke1880_IGN"},
    {6012, "DatumE_Clarke1880_RGS"},
    {6013, "DatumE_Clarke1880_Arc"},
    {6014, "DatumE_Clarke1880_SGA1922"},
    {6015, "DatumE_Everest1830_1937Adjustment"},
    {6016, "DatumE_Everest1830_1967Definition"},
    {6017, "DatumE_Everest1830_1975Definition"},
    {6018, "DatumE_Everest1830Modified"},
    {6019, "DatumE_GRS1980"},
    {6020, "DatumE_Helmert1906"},
    {6022, "DatumE_International1924"},
    {6023, "DatumE_International1967"},
    {6024, "DatumE_Krassowsky1940"},
    {6030, "DatumE_WGS84"},
    {6034, "DatumE_Clarke1880"},
    {32767, "user-defined"}};

MapIntStr mapGeogLinearUnitsGeoKey = {
    {9001, "Linear_Meter"},
    {9002, "Linear_Foot"},
    {9003, "Linear_Foot_US_Survey"},
    {9004, "Linear_Foot_Modified_American"},
    {9005, "Linear_Foot_Clarke"},
    {9006, "Linear_Foot_Indian"},
    {9007, "Linear_Link"},
    {9008, "Linear_Link_Benoit"},
    {9009, "Linear_Link_Sears"},
    {9010, "Linear_Chain_Benoit"},
    {9011, "Linear_Chain_Sears"},
    {9012, "Linear_Yard_Sears"},
    {9013, "Linear_Yard_Indian"},
    {9014, "Linear_Fathom"},
    {9015, "Linear_Mile_International_Nautical"}};

MapIntStr mapGeogAngularUnitsGeoKey = {{9101, "Angular_Radian"},     {9102, "Angular_Degree"},        {9103, "Angular_Arc_Minute"},
                                    {9104, "Angular_Arc_Second"}, {9105, "Angular_Grad"},          {9106, "Angular_Gon"},
                                    {9107, "Angular_DMS"},        {9108, "Angular_DMS_Hemisphere"}};

MapIntStr mapGeogEllipsoidGeoKey = {
    {7001, "Ellipse_Airy_1830"},
    {7002, "Ellipse_Airy_Modified_1849"},
    {7003, "Ellipse_Australian_National_Spheroid"},
    {7004, "Ellipse_Bessel_1841"},
    {7005, "Ellipse_Bessel_Modified"},
    {7006, "Ellipse_Bessel_Namibia"},
    {7008, "Ellipse_Clarke_1866"},
    {7009, "Ellipse_Clarke_1866_Michigan"},
    {7010, "Ellipse_Clarke1880_Benoit"},
    {7011, "Ellipse_Clarke1880_IGN"},
    {7012, "Ellipse_Clarke1880_RGS"},
    {7013, "Ellipse_Clarke1880_Arc"},
    {7014, "Ellipse_Clarke1880_SGA1922"},
    {7015, "Ellipse_Everest1830_1937Adjustment"},
    {7016, "Ellipse_Everest1830_1967Definition"},
    {7017, "Ellipse_Everest1830_1975Definition"},
    {7018, "Ellipse_Everest1830Modified"},
    {7019, "Ellipse_GRS_1980"},
    {7020, "Ellipse_Helmert1906"},
    {7022, "Ellipse_International1924"},
    {7023, "Ellipse_International1967"},
    {7024, "Ellipse_Krassowsky1940"},
    {7030, "Ellipse_WGS_84"},
    {7034, "Ellipse_Clarke_1880"}};

MapIntStr mapGeogAzimuthUnitsGeoKey = {{9101, "Angular_Radian"},     {9102, "Angular_Degree"},        {9103, "Angular_Arc_Minute"},
                                    {9104, "Angular_Arc_Second"}, {9105, "Angular_Grad"},          {9106, "Angular_Gon"},
                                    {9107, "Angular_DMS"},        {9108, "Angular_DMS_Hemisphere"}};

MapIntStr mapProjectionGeoKey = {
    {10101, "Proj_Alabama_CS27_East"},
    {10102, "Proj_Alabama_CS27_West"},
    {10131, "Proj_Alabama_CS83_East"},
    {10132, "Proj_Alabama_CS83_West"},
    {10201, "Proj_Arizona_Coordinate_System_east"},
    {10202, "Proj_Arizona_Coordinate_System_Central"},
    {10203, "Proj_Arizona_Coordinate_System_west"},
    {10231, "Proj_Arizona_CS83_east"},
    {10232, "Proj_Arizona_CS83_Central"},
    {10233, "Proj_Arizona_CS83_west"},
    {10301, "Proj_Arkansas_CS27_North"},
    {10302, "Proj_Arkansas_CS27_South"},
    {10331, "Proj_Arkansas_CS83_North"},
    {10332, "Proj_Arkansas_CS83_South"},
    {10401, "Proj_California_CS27_I"},
    {10402, "Proj_California_CS27_II"},
    {10403, "Proj_California_CS27_III"},
    {10404, "Proj_California_CS27_IV"},
    {10405, "Proj_California_CS27_V"},
    {10406, "Proj_California_CS27_VI"},
    {10407, "Proj_California_CS27_VII"},
    {10431, "Proj_California_CS83_1"},
    {10432, "Proj_California_CS83_2"},
    {10433, "Proj_California_CS83_3"},
    {10434, "Proj_California_CS83_4"},
    {10435, "Proj_California_CS83_5"},
    {10436, "Proj_California_CS83_6"},
    {10501, "Proj_Colorado_CS27_North"},
    {10502, "Proj_Colorado_CS27_Central"},
    {10503, "Proj_Colorado_CS27_South"},
    {10531, "Proj_Colorado_CS83_North"},
    {10532, "Proj_Colorado_CS83_Central"},
    {10533, "Proj_Colorado_CS83_South"},
    {10600, "Proj_Connecticut_CS27"},
    {10630, "Proj_Connecticut_CS83"},
    {10700, "Proj_Delaware_CS27"},
    {10730, "Proj_Delaware_CS83"},
    {10901, "Proj_Florida_CS27_East"},
    {10902, "Proj_Florida_CS27_West"},
    {10903, "Proj_Florida_CS27_North"},
    {10931, "Proj_Florida_CS83_East"},
    {10932, "Proj_Florida_CS83_West"},
    {10933, "Proj_Florida_CS83_North"},
    {11001, "Proj_Georgia_CS27_East"},
    {11002, "Proj_Georgia_CS27_West"},
    {11031, "Proj_Georgia_CS83_East"},
    {11032, "Proj_Georgia_CS83_West"},
    {11101, "Proj_Idaho_CS27_East"},
    {11102, "Proj_Idaho_CS27_Central"},
    {11103, "Proj_Idaho_CS27_West"},
    {11131, "Proj_Idaho_CS83_East"},
    {11132, "Proj_Idaho_CS83_Central"},
    {11133, "Proj_Idaho_CS83_West"},
    {11201, "Proj_Illinois_CS27_East"},
    {11202, "Proj_Illinois_CS27_West"},
    {11231, "Proj_Illinois_CS83_East"},
    {11232, "Proj_Illinois_CS83_West"},
    {11301, "Proj_Indiana_CS27_East"},
    {11302, "Proj_Indiana_CS27_West"},
    {11331, "Proj_Indiana_CS83_East"},
    {11332, "Proj_Indiana_CS83_West"},
    {11401, "Proj_Iowa_CS27_North"},
    {11402, "Proj_Iowa_CS27_South"},
    {11431, "Proj_Iowa_CS83_North"},
    {11432, "Proj_Iowa_CS83_South"},
    {11501, "Proj_Kansas_CS27_North"},
    {11502, "Proj_Kansas_CS27_South"},
    {11531, "Proj_Kansas_CS83_North"},
    {11532, "Proj_Kansas_CS83_South"},
    {11601, "Proj_Kentucky_CS27_North"},
    {11602, "Proj_Kentucky_CS27_South"},
    {11631, "Proj_Kentucky_CS83_North"},
    {11632, "Proj_Kentucky_CS83_South"},
    {11701, "Proj_Louisiana_CS27_North"},
    {11702, "Proj_Louisiana_CS27_South"},
    {11731, "Proj_Louisiana_CS83_North"},
    {11732, "Proj_Louisiana_CS83_South"},
    {11801, "Proj_Maine_CS27_East"},
    {11802, "Proj_Maine_CS27_West"},
    {11831, "Proj_Maine_CS83_East"},
    {11832, "Proj_Maine_CS83_West"},
    {11900, "Proj_Maryland_CS27"},
    {11930, "Proj_Maryland_CS83"},
    {12001, "Proj_Massachusetts_CS27_Mainland"},
    {12002, "Proj_Massachusetts_CS27_Island"},
    {12031, "Proj_Massachusetts_CS83_Mainland"},
    {12032, "Proj_Massachusetts_CS83_Island"},
    {12101, "Proj_Michigan_State_Plane_East"},
    {12102, "Proj_Michigan_State_Plane_Old_Central"},
    {12103, "Proj_Michigan_State_Plane_West"},
    {12111, "Proj_Michigan_CS27_North"},
    {12112, "Proj_Michigan_CS27_Central"},
    {12113, "Proj_Michigan_CS27_South"},
    {12141, "Proj_Michigan_CS83_North"},
    {12142, "Proj_Michigan_CS83_Central"},
    {12143, "Proj_Michigan_CS83_South"},
    {12201, "Proj_Minnesota_CS27_North"},
    {12202, "Proj_Minnesota_CS27_Central"},
    {12203, "Proj_Minnesota_CS27_South"},
    {12231, "Proj_Minnesota_CS83_North"},
    {12232, "Proj_Minnesota_CS83_Central"},
    {12233, "Proj_Minnesota_CS83_South"},
    {12301, "Proj_Mississippi_CS27_East"},
    {12302, "Proj_Mississippi_CS27_West"},
    {12331, "Proj_Mississippi_CS83_East"},
    {12332, "Proj_Mississippi_CS83_West"},
    {12401, "Proj_Missouri_CS27_East"},
    {12402, "Proj_Missouri_CS27_Central"},
    {12403, "Proj_Missouri_CS27_West"},
    {12431, "Proj_Missouri_CS83_East"},
    {12432, "Proj_Missouri_CS83_Central"},
    {12433, "Proj_Missouri_CS83_West"},
    {12501, "Proj_Montana_CS27_North"},
    {12502, "Proj_Montana_CS27_Central"},
    {12503, "Proj_Montana_CS27_South"},
    {12530, "Proj_Montana_CS83"},
    {12601, "Proj_Nebraska_CS27_North"},
    {12602, "Proj_Nebraska_CS27_South"},
    {12630, "Proj_Nebraska_CS83"},
    {12701, "Proj_Nevada_CS27_East"},
    {12702, "Proj_Nevada_CS27_Central"},
    {12703, "Proj_Nevada_CS27_West"},
    {12731, "Proj_Nevada_CS83_East"},
    {12732, "Proj_Nevada_CS83_Central"},
    {12733, "Proj_Nevada_CS83_West"},
    {12800, "Proj_New_Hampshire_CS27"},
    {12830, "Proj_New_Hampshire_CS83"},
    {12900, "Proj_New_Jersey_CS27"},
    {12930, "Proj_New_Jersey_CS83"},
    {13001, "Proj_New_Mexico_CS27_East"},
    {13002, "Proj_New_Mexico_CS27_Central"},
    {13003, "Proj_New_Mexico_CS27_West"},
    {13031, "Proj_New_Mexico_CS83_East"},
    {13032, "Proj_New_Mexico_CS83_Central"},
    {13033, "Proj_New_Mexico_CS83_West"},
    {13101, "Proj_New_York_CS27_East"},
    {13102, "Proj_New_York_CS27_Central"},
    {13103, "Proj_New_York_CS27_West"},
    {13104, "Proj_New_York_CS27_Long_Island"},
    {13131, "Proj_New_York_CS83_East"},
    {13132, "Proj_New_York_CS83_Central"},
    {13133, "Proj_New_York_CS83_West"},
    {13134, "Proj_New_York_CS83_Long_Island"},
    {13200, "Proj_North_Carolina_CS27"},
    {13230, "Proj_North_Carolina_CS83"},
    {13301, "Proj_North_Dakota_CS27_North"},
    {13302, "Proj_North_Dakota_CS27_South"},
    {13331, "Proj_North_Dakota_CS83_North"},
    {13332, "Proj_North_Dakota_CS83_South"},
    {13401, "Proj_Ohio_CS27_North"},
    {13402, "Proj_Ohio_CS27_South"},
    {13431, "Proj_Ohio_CS83_North"},
    {13432, "Proj_Ohio_CS83_South"},
    {13501, "Proj_Oklahoma_CS27_North"},
    {13502, "Proj_Oklahoma_CS27_South"},
    {13531, "Proj_Oklahoma_CS83_North"},
    {13532, "Proj_Oklahoma_CS83_South"},
    {13601, "Proj_Oregon_CS27_North"},
    {13602, "Proj_Oregon_CS27_South"},
    {13631, "Proj_Oregon_CS83_North"},
    {13632, "Proj_Oregon_CS83_South"},
    {13701, "Proj_Pennsylvania_CS27_North"},
    {13702, "Proj_Pennsylvania_CS27_South"},
    {13731, "Proj_Pennsylvania_CS83_North"},
    {13732, "Proj_Pennsylvania_CS83_South"},
    {13800, "Proj_Rhode_Island_CS27"},
    {13830, "Proj_Rhode_Island_CS83"},
    {13901, "Proj_South_Carolina_CS27_North"},
    {13902, "Proj_South_Carolina_CS27_South"},
    {13930, "Proj_South_Carolina_CS83"},
    {14001, "Proj_South_Dakota_CS27_North"},
    {14002, "Proj_South_Dakota_CS27_South"},
    {14031, "Proj_South_Dakota_CS83_North"},
    {14032, "Proj_South_Dakota_CS83_South"},
    {14100, "Proj_Tennessee_CS27"},
    {14130, "Proj_Tennessee_CS83"},
    {14201, "Proj_Texas_CS27_North"},
    {14202, "Proj_Texas_CS27_North_Central"},
    {14203, "Proj_Texas_CS27_Central"},
    {14204, "Proj_Texas_CS27_South_Central"},
    {14205, "Proj_Texas_CS27_South"},
    {14231, "Proj_Texas_CS83_North"},
    {14232, "Proj_Texas_CS83_North_Central"},
    {14233, "Proj_Texas_CS83_Central"},
    {14234, "Proj_Texas_CS83_South_Central"},
    {14235, "Proj_Texas_CS83_South"},
    {14301, "Proj_Utah_CS27_North"},
    {14302, "Proj_Utah_CS27_Central"},
    {14303, "Proj_Utah_CS27_South"},
    {14331, "Proj_Utah_CS83_North"},
    {14332, "Proj_Utah_CS83_Central"},
    {14333, "Proj_Utah_CS83_South"},
    {14400, "Proj_Vermont_CS27"},
    {14430, "Proj_Vermont_CS83"},
    {14501, "Proj_Virginia_CS27_North"},
    {14502, "Proj_Virginia_CS27_South"},
    {14531, "Proj_Virginia_CS83_North"},
    {14532, "Proj_Virginia_CS83_South"},
    {14601, "Proj_Washington_CS27_North"},
    {14602, "Proj_Washington_CS27_South"},
    {14631, "Proj_Washington_CS83_North"},
    {14632, "Proj_Washington_CS83_South"},
    {14701, "Proj_West_Virginia_CS27_North"},
    {14702, "Proj_West_Virginia_CS27_South"},
    {14731, "Proj_West_Virginia_CS83_North"},
    {14732, "Proj_West_Virginia_CS83_South"},
    {14801, "Proj_Wisconsin_CS27_North"},
    {14802, "Proj_Wisconsin_CS27_Central"},
    {14803, "Proj_Wisconsin_CS27_South"},
    {14831, "Proj_Wisconsin_CS83_North"},
    {14832, "Proj_Wisconsin_CS83_Central"},
    {14833, "Proj_Wisconsin_CS83_South"},
    {14901, "Proj_Wyoming_CS27_East"},
    {14902, "Proj_Wyoming_CS27_East_Central"},
    {14903, "Proj_Wyoming_CS27_West_Central"},
    {14904, "Proj_Wyoming_CS27_West"},
    {14931, "Proj_Wyoming_CS83_East"},
    {14932, "Proj_Wyoming_CS83_East_Central"},
    {14933, "Proj_Wyoming_CS83_West_Central"},
    {14934, "Proj_Wyoming_CS83_West"},
    {15001, "Proj_Alaska_CS27_1"},
    {15002, "Proj_Alaska_CS27_2"},
    {15003, "Proj_Alaska_CS27_3"},
    {15004, "Proj_Alaska_CS27_4"},
    {15005, "Proj_Alaska_CS27_5"},
    {15006, "Proj_Alaska_CS27_6"},
    {15007, "Proj_Alaska_CS27_7"},
    {15008, "Proj_Alaska_CS27_8"},
    {15009, "Proj_Alaska_CS27_9"},
    {15010, "Proj_Alaska_CS27_10"},
    {15031, "Proj_Alaska_CS83_1"},
    {15032, "Proj_Alaska_CS83_2"},
    {15033, "Proj_Alaska_CS83_3"},
    {15034, "Proj_Alaska_CS83_4"},
    {15035, "Proj_Alaska_CS83_5"},
    {15036, "Proj_Alaska_CS83_6"},
    {15037, "Proj_Alaska_CS83_7"},
    {15038, "Proj_Alaska_CS83_8"},
    {15039, "Proj_Alaska_CS83_9"},
    {15040, "Proj_Alaska_CS83_10"},
    {15101, "Proj_Hawaii_CS27_1"},
    {15102, "Proj_Hawaii_CS27_2"},
    {15103, "Proj_Hawaii_CS27_3"},
    {15104, "Proj_Hawaii_CS27_4"},
    {15105, "Proj_Hawaii_CS27_5"},
    {15131, "Proj_Hawaii_CS83_1"},
    {15132, "Proj_Hawaii_CS83_2"},
    {15133, "Proj_Hawaii_CS83_3"},
    {15134, "Proj_Hawaii_CS83_4"},
    {15135, "Proj_Hawaii_CS83_5"},
    {15201, "Proj_Puerto_Rico_CS27"},
    {15202, "Proj_St_Croix"},
    {15230, "Proj_Puerto_Rico_Virgin_Is"},
    {15914, "Proj_BLM_14N_feet"},
    {15915, "Proj_BLM_15N_feet"},
    {15916, "Proj_BLM_16N_feet"},
    {15917, "Proj_BLM_17N_feet"},
    {17333, "Proj_SWEREF99_TM"},
    {17348, "Proj_Map_Grid_of_Australia_48"},
    {17349, "Proj_Map_Grid_of_Australia_49"},
    {17350, "Proj_Map_Grid_of_Australia_50"},
    {17351, "Proj_Map_Grid_of_Australia_51"},
    {17352, "Proj_Map_Grid_of_Australia_52"},
    {17353, "Proj_Map_Grid_of_Australia_53"},
    {17354, "Proj_Map_Grid_of_Australia_54"},
    {17355, "Proj_Map_Grid_of_Australia_55"},
    {17356, "Proj_Map_Grid_of_Australia_56"},
    {17357, "Proj_Map_Grid_of_Australia_57"},
    {17358, "Proj_Map_Grid_of_Australia_58"},
    {17448, "Proj_Australian_Map_Grid_48"},
    {17449, "Proj_Australian_Map_Grid_49"},
    {17450, "Proj_Australian_Map_Grid_50"},
    {17451, "Proj_Australian_Map_Grid_51"},
    {17452, "Proj_Australian_Map_Grid_52"},
    {17453, "Proj_Australian_Map_Grid_53"},
    {17454, "Proj_Australian_Map_Grid_54"},
    {17455, "Proj_Australian_Map_Grid_55"},
    {17456, "Proj_Australian_Map_Grid_56"},
    {17457, "Proj_Australian_Map_Grid_57"},
    {17458, "Proj_Australian_Map_Grid_58"},
    {18031, "Proj_Argentina_1"},
    {18032, "Proj_Argentina_2"},
    {18033, "Proj_Argentina_3"},
    {18034, "Proj_Argentina_4"},
    {18035, "Proj_Argentina_5"},
    {18036, "Proj_Argentina_6"},
    {18037, "Proj_Argentina_7"},
    {18051, "Proj_Colombia_3W"},
    {18052, "Proj_Colombia_Bogota"},
    {18053, "Proj_Colombia_3E"},
    {18054, "Proj_Colombia_6E"},
    {18072, "Proj_Egypt_Red_Belt"},
    {18073, "Proj_Egypt_Purple_Belt"},
    {18074, "Proj_Extended_Purple_Belt"},
    {18141, "Proj_New_Zealand_North_Island_Nat_Grid"},
    {18142, "Proj_New_Zealand_South_Island_Nat_Grid"},
    {19900, "Proj_Bahrain_Grid"},
    {19905, "Proj_Netherlands_E_Indies_Equatorial"},
    {19912, "Proj_RSO_Borneo"},
    {32767, "user-defined"}};

MapIntStr mapProjCoordTransGeoKey = {
    {1, "CT_TransverseMercator"},
    {2, "CT_TransvMercator_Modified_Alaska"},
    {3, "CT_ObliqueMercator"},
    {4, "CT_ObliqueMercator_Laborde"},
    {5, "CT_ObliqueMercator_Rosenmund"},
    {6, "CT_ObliqueMercator_Spherical"},
    {7, "CT_Mercator"},
    {8, "CT_LambertConfConic_2SP"},
    {9, "CT_LambertConfConic_Helmert"},
    {10, "CT_LambertAzimEqualArea"},
    {11, "CT_AlbersEqualArea"},
    {12, "CT_AzimuthalEquidistant"},
    {13, "CT_EquidistantConic"},
    {14, "CT_Stereographic"},
    {15, "CT_PolarStereographic"},
    {16, "CT_ObliqueStereographic"},
    {17, "CT_Equirectangular"},
    {18, "CT_CassiniSoldner"},
    {19, "CT_Gnomonic"},
    {20, "CT_MillerCylindrical"},
    {21, "CT_Orthographic"},
    {22, "CT_Polyconic"},
    {23, "CT_Robinson"},
    {24, "CT_Sinusoidal"},
    {25, "CT_VanDerGrinten"},
    {26, "CT_NewZealandMapGrid"},
    {27, "CT_TransvMercator_SouthOriented"}};

MapIntStr mapProjLinearUnitsGeoKey = {
    {9001, "Linear_Meter"},
    {9002, "Linear_Foot"},
    {9003, "Linear_Foot_US_Survey"},
    {9004, "Linear_Foot_Modified_American"},
    {9005, "Linear_Foot_Clarke"},
    {9006, "Linear_Foot_Indian"},
    {9007, "Linear_Link"},
    {9008, "Linear_Link_Benoit"},
    {9009, "Linear_Link_Sears"},
    {9010, "Linear_Chain_Benoit"},
    {9011, "Linear_Chain_Sears"},
    {9012, "Linear_Yard_Sears"},
    {9013, "Linear_Yard_Indian"},
    {9014, "Linear_Fathom"},
    {9015, "Linear_Mile_International_Nautical"}};

MapIntStr mapVerticalCSTypeGeoKey = {
    {1127, "VertCS_Canadian_Geodetic_Vertical_Datum_2013"},
    {5001, "VertCS_Airy_1830_ellipsoid"},
    {5002, "VertCS_Airy_Modified_1849_ellipsoid"},
    {5003, "VertCS_ANS_ellipsoid"},
    {5004, "VertCS_Bessel_1841_ellipsoid"},
    {5005, "VertCS_Bessel_Modified_ellipsoid"},
    {5006, "VertCS_Bessel_Namibia_ellipsoid"},
    {5007, "VertCS_Clarke_1858_ellipsoid"},
    {5008, "VertCS_Clarke_1866_ellipsoid"},
    {5010, "VertCS_Clarke_1880_Benoit_ellipsoid"},
    {5011, "VertCS_Clarke_1880_IGN_ellipsoid"},
    {5012, "VertCS_Clarke_1880_RGS_ellipsoid"},
    {5013, "VertCS_Clarke_1880_Arc_ellipsoid"},
    {5014, "VertCS_Clarke_1880_SGA_1922_ellipsoid"},
    {5015, "VertCS_Everest_1830_1937_Adjustment_ellipsoid"},
    {5016, "VertCS_Everest_1830_1967_Definition_ellipsoid"},
    {5017, "VertCS_Everest_1830_1975_Definition_ellipsoid"},
    {5018, "VertCS_Everest_1830_Modified_ellipsoid"},
    {5019, "VertCS_GRS_1980_ellipsoid"},
    {5020, "VertCS_Helmert_1906_ellipsoid"},
    {5021, "VertCS_INS_ellipsoid"},
    {5022, "VertCS_International_1924_ellipsoid"},
    {5023, "VertCS_International_1967_ellipsoid"},
    {5024, "VertCS_Krassowsky_1940_ellipsoid"},
    {5025, "VertCS_NWL_9D_ellipsoid"},
    {5026, "VertCS_NWL_10D_ellipsoid"},
    {5027, "VertCS_Plessis_1817_ellipsoid"},
    {5028, "VertCS_Struve_1860_ellipsoid"},
    {5029, "VertCS_War_Office_ellipsoid"},
    {5030, "VertCS_WGS_84_ellipsoid"},
    {5031, "VertCS_GEM_10C_ellipsoid"},
    {5032, "VertCS_OSU86F_ellipsoid"},
    {5033, "VertCS_OSU91A_ellipsoid"},
    {5101, "VertCS_Newlyn"},
    {5102, "VertCS_North_American_Vertical_Datum_1929"},
    {5103, "VertCS_North_American_Vertical_Datum_1988"},
    {5104, "VertCS_Yellow_Sea_1956"},
    {5105, "VertCS_Baltic_Sea"},
    {5106, "VertCS_Caspian_Sea"},
    {5114, "VertCS_Canadian_Geodetic_Vertical_Datum_1928"},
    {5206, "VertCS_Dansk_Vertikal_Reference_1990"},
    {5215, "VertCS_European_Vertical_Reference_Frame_2007"},
    {5701, "ODN height (Reserved EPSG)"},
    {5702, "NGVD29 height (Reserved EPSG)"},
    {5703, "NAVD88 height (Reserved EPSG)"},
    {5704, "Yellow Sea (Reserved EPSG)"},
    {5705, "Baltic height (Reserved EPSG)"},
    {5706, "Caspian depth (Reserved EPSG)"},
    {5707, "NAP height (Reserved EPSG)"},
    {5710, "Oostende height (Reserved EPSG)"},
    {5711, "AHD height (Reserved EPSG)"},
    {5712, "AHD (Tasmania) height (Reserved EPSG)"},
    {5776, "Norway Normal Null 1954"},
    {5783, "Deutsches Haupthoehennetz 1992"},
    {5941, "Norway Normal Null 2000"},
    {6647, "Canadian Geodetic Vertical Datum of 2013"},
    {7837, "Deutsches Haupthoehennetz 2016"}};

MapIntStr mapVerticalUnitsGeoKey = {
    {9001, "Linear_Meter"},
    {9002, "Linear_Foot"},
    {9003, "Linear_Foot_US_Survey"},
    {9004, "Linear_Foot_Modified_American"},
    {9005, "Linear_Foot_Clarke"},
    {9006, "Linear_Foot_Indian"},
    {9007, "Linear_Link"},
    {9008, "Linear_Link_Benoit"},
    {9009, "Linear_Link_Sears"},
    {9010, "Linear_Chain_Benoit"},
    {9011, "Linear_Chain_Sears"},
    {9012, "Linear_Yard_Sears"},
    {9013, "Linear_Yard_Indian"},
    {9014, "Linear_Fathom"},
    {9015, "Linear_Mile_International_Nautical"}};

MapIntStr mapGeogPrimeMeridianGeoKey = {{8901, "PM_Greenwich"}, {8902, "PM_Lisbon"}, {32767, "user-defined"}};
